Method for activating objects in a mark-up language environment

ABSTRACT

A double-click is enabled in a mark-up language environment for certain objects by capturing a first series of select and unselect actions associated with a multi-click enabled object, displaying a copy image of the multi-click enable object, and then allowing a second series of select and unselect actions to be applied to the copy image. The copy image is then deleted and the original image is left on the display. This aspect of the invention allows objects, displayed in a mark-up language environment, such as scroll buttons, increment buttons, or the like, to by-pass the double-click filter applied within such an environment.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application for United States Patent claims the benefit of the filing date of U.S. Provisional Application for Patent having Ser. No. 60/494,940 and filed on Aug. 13, 2003, the contents of which is hereby incorporated by reference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISK APPENDIX

Not applicable.

BACKGROUND

The present invention relates generally to the use of a computer within a mark-up language environment and, more particularly, to a method for displaying objects by a computer device in a mark-up language environment and enabling a double-click operation within the mark-up language environment.

Typical PC-based applications use the double-click operation for interface operation, whereas the mark-up language environment is focused on single click operations. Because users are accustomed to utilizing double-click operations, confusion may occur when a user attempts to perform an operation while inside of a mark-up based environment. To address this problem, Internet Explorer, a common markup-language environment, implements a double-click lock out period so that if a user performs a double-click operation, the application views it as a single click. However, when providing web-based applications to users where the interface is modeled after the look and feel of PC-based applications, users would expect their double-click actions to perform identical to their PC-based counterparts, and so a workaround is needed to support double-click behavior correctly.

Any interface environment, whether PC or mark-up language based, provides an Event Model which is the mechanism responsible for delivering Events to the Listeners that are interested in those events. These environments have specific events related to mouse interaction, and during rapid mouse-clicking occurrences, the following set of events will occur:

onMouseDown

onMouseUp

onClick

onMouseDown

onMouseUp

onDblClick (DoubleClick)

Following generally accepted interface guidelines, the visual representation of an object will change during the MouseDown and MouseUp phases of this process, and the Click and DoubleClick events will perform actions specifically related to the object.

Internet Explorer implements the double-click lock out feature by disabling the second MouseDown event which poses a problem when trying to convey the correct visual representation to the user (or any other functionality that the programmer might wish to add to this event). For instance, for a scroll button or a spin box, which would typically allow a user to rapidly select the object by using multiple clicks, the double-click lock out basically reduces the ability for the user to rapidly select the object. In essence, every other selection by the user will be discarded. Thus, there is a need in the art for a method to allow a user to have the benefit of rapid selections of an object in a mark-up language environment without eliminating the benefit of the double-click lockout operation for other aspects of the mark-up language environment.

SUMMARY OF THE INVENTION

The present invention is directed toward a novel method for displaying objects in a mark-up language environment.

A programmer writing a mark-up language software application having a graphical user interface defines the physical layout of the graphical objects on the user interface screen, as well as the function, if any, to be associated with the objects and any logical relationships among those objects. The function represented by a graphical object can be as simple as displaying data, or it can represent a more complex function such as initiating the execution of a software subroutine, or any other function desired by the programmer.

Typically, the graphical object is activated or selected once, and then an associated function is performed instantaneously; locking out and ignoring any subsequent activations or selections of the graphical object until a period of time after the function has been performed. Upon the function being performed, the graphical object typically either returns to its normal state or it is removed and replaced by an entirely new set of graphical objects performed by the function. Further, when displaying large amounts of data, including graphical objects, both computer resources and load times to display the data can be very substantial. Therefore, the present invention provides a novel method for displaying data and graphical objects.

One embodiment of the present invention is to eliminate the lock out period of a graphical object when performing subsequent activations or selections of that graphical object. Another embodiment of the present invention is to modify a graphical object when it is activated or selected to indicate it has been activated or selected. Yet another embodiment is to modify a graphical object when it is disabled. A further embodiment of the present invention is to quickly up-load and display only portions of data at one time rather than up-loading an entire data file at once to display the same portion of data, thus saving display time.

DETAILED DESCRIPTION

In general, the present invention can be described as a novel method for quickly and easily displaying data in a mark-up language. Some examples of data include, but are not limited to: text, documents, directories, web pages, graphical objects, etc. As with the exemplary embodiments below, these examples are for illustrative purposes only and, a person skilled in the art will construe them broadly.

Double Click

One aspect of the present invention is to eliminate the lock out period of a graphical object when performing subsequent activations or selections of that graphical object. The necessity for this aspect of the invention is based, at least in part, on limitations existing within the Internet Explorer programming environment. Internet explorer contains certain limitations on how programs can be created and executed. One such limitation is in processing or trying to capture double clicks. For example, when clicking on an object rapidly with a mouse in a mark-up language environment, the object will see each two clicks as a “double-click” rather than two individual clicks, thus performing only one selection or activation of the object. This phenomenon is especially apparent in instances such as spin boxes, scroll buttons and tool bar buttons. Eliminating the “double-click” lock out enables multiple clicks to be accepted individually and allows a user to quickly select or activate an object multiple times without having to wait for the lock out period. One example is when clicking on a spin box, the user would be able to click multiple times as quickly as desired, with each click activating the spin box, rather than every other click. The spin box is just one example and one skilled in the art would construe that object broadly. This aspect is particularly relevant when viewed in conjunction with the double click aspect of the invention. For instance, using the spin box example with rapid clicks, a series of mouse down and mouse up commands are created. Because of the limitations of Internet Explorer, the second mouse down function is typically missed. In operation, this creates an anomaly from the user interface perspective in that the icon being clicked does not have an appearance change associated with the second click. For instance, typically on a mouse down click, an icon will change and then revert to its normal state on the mouse up click. When the second mouse down click is missed, this has the effect from a user's perspective of not activating the icon on the second mouse down click.

To eliminate this problem, the present invention operates to capture the first mouse down and mouse up click sequence and then creates a new object in place of the existing object. Typically this object is an exact replica of the existing object and exists in the non-clicked state. On the second mouse down click, the new object is selected and modified in accordance with a mouse down operation. Thus, the user appearance during the rapid clicks is that the object is changing in cooperation with the clicks. When the mouse up is conducted, the new object is destroyed and the mouse actions are basically reset.

As part of its programming environment, Internet Explorer provides an object called a “popup” which is a special type of window that performs some, but not all of the same features that a typical webpage does. The two windows of the popup and the main application are separate from each other and do not share the same Event object, and therefore mouse events on one window do not effect the mouse events on the other window. After the first mouse up in a double-click operation is conducted, a new instance of a popup is created on top of the original object and a visual representation of the original object is recreated inside of the popup. “Typically this object is an exact replica of the existing object and exists in the non-clicked state.” The popup then assumes control of the ensuing mouse down and mouse up operations in the double-click sequence of events. On the next mouse down click, the new object is selected and modified in accordance with a mouse down operation. Thus, the appearance during the rapid clicks is that the object is changing in cooperation with the clicks. When the mouse up is conducted, the new object is destroyed and the mouse actions are basically reset.

Thus, particular objects can be identified as being multi-click objects, whereas other objects can retain the traditional characteristic of a mark-up language environment object—double clicks appear and operate as a single click. For the multi-click objects, the user can select the object and rapidly select the object in succession. If a user selects a multi-click object and only clicks on it a single time, the object can be treated as a normal object. This can be accomplished in a variety of manners. For instance, when the first click-up or unselect operation is detected, the copy image of the object can be created and displayed. If a click-down or select operation is not received within a particular period of time, the copy image can be deleted. Alternatively, the copy image can be created but not displayed until the second click-down or select signal is received.

FIG. 1 is a flow diagram illustrating the operation of this aspect of the present invention. FIG. 2 is a display state diagram illustrating one embodiment of the operation of this aspect of the present invention. The process 100 begins at step 105 by displaying an object that includes a multi-click object 202 existing in a non-selected state. At step 110, a selection of the multi-click object 202 is received. The reception of the selection causes the display to transition to a second state 210 in which the a multi-click object 202 is modified at step 115 and displayed as a selected multi-click object 212. At step 120 an unselect signal is received which results in a transition to a third display state 220. In the third display state 220, a copy image of the multi-click object 222 is created and overlaid on top of selected multi-click object 212. At step 130, a second select is received which results in a transition to a fourth display state 230. In the fourth display state 230, the copy image of the multi-click object 222 is modified and displayed in step 135 as a copy image of a selected multi-click object 232. Finally, at step 140, a second unselect is received resulting in a state transition back to the first display state 200 where the copy image of the multi-click object 232 is deleted and the original multi-click object 202 is displayed (step 145).

Ringed Text

Another aspect of the present invention is to modify a graphical object when it is activated or selected to indicate it has been activated or selected. When selecting or activating an object within a mark-up language environment, the object typically performs the function programmed without indicating that it has just been selected or activated and then the program continues. In many circumstances in a mark-up language environment, objects are used to activate other objects and to perform operations thereon, however, it is difficult to ascertain which object the function is being performed upon without any indicator. One aspect of the present invention modifies an object when selected or activated to indicate that it has just been selected or activated by, for example, placing a ring around the object to highlight it. With this indication, a user can distinguish which object will be operated upon when another object is activated or selected.

This aspect of the present invention is directed towards providing a standardized look and feel within a mark-up language environment. For instance, in Windows Explorer, when a directory or file is selected, a ring is created around that object to indicate that it has been selected. This feature is not available in the Internet Explorer environment. Thus, when simulating Windows Explorer using a mark-up language environment such as the Internet Explorer, the user interface is not consistent. The present invention alleviates this phenomenon by creating a graphic that is placed behind the selected file or directory. The graphic simulates the ring. In operation, the selected text field is examined to determine its size. The graphic is then created to encapsulate the text field and is displayed behind the text allowing the simulation of a ring around the text. Furthermore, this aspect of the present invention can operate in accordance with the windows scheme that has been selected or activated. In operation, the current color or display settings are examined using various commands known to those skilled in the art such as get system main color. The graphic to be displayed behind the selected text is set in accordance with the selected scheme. Thus a filter is run on the graphic to make it conform to the selected color scheme.

Display of Disabled Objects

In Window based environment, pull-down menus, icons and tool bar buttons are commonly used to provide certain functionality. In some instances, a menu item, icon or toolbar button cannot or should not be selected or activated. In typical Windows based applications, tool bar selectors, as well as other objects, that are not available for selection or are disabled are typically “grayed out”. Grayed out is a term that refers to altering the colors of a graphic in such a way that you can still see the main features of the graphic but, the colors and sometimes certain details of the graphic are missing and replaced with one or more shades of gray. Another aspect of the present invention is to provide this feature within a mark-up language environment. This aspect of the present invention operates to modify the look of a graphical object when it is disabled or unavailable. This modification can be accomplished in many ways, one example being, graying the object so that the object appears to be removed, however, leaving its footprint.

The present invention accomplishes this task in a mark-up language environment by first identifying the current window settings, such as the color scheme. The particular item to be grayed out is then identified and a duplicate copy is generated. A filter is then applied to the duplicate copy of the item. This filter can have many functions such as disabling certain colors and removing shading; however, the main function of the filter is to hash the colors of the item into a gray range and for colors that do not fall within this range, to make that location of the item transparent. Next, the present invention operates to modify the original item by darkening the colors. One technique to accomplish this is by adding an offset to the value of the colors in the original item, the offset forcing the color value associated with the various aspects of the item to be in a darker range of the color. The present invention also operates to modify the original item by removing some of the pixels or making them white. Finally, the original item is shifted, for example a few pixel locations to the left and down or in some other way offset from its original position and is then overlaid with the grayed out copy of the item. Overall, this process has causes the item to have an embossed look.

Reduced Processing Time

When scrolling or paging through some items in a computer environment, or otherwise altering the display of information, oftentimes each such modification can result in significant processing time. For instance, on a multi-thousand row spread sheet or table, sorting the table on one of the columns can invoke a significant amount of processing work. However, it is evident that the majority of that work may be unnecessary. For instance, if a table is sorted, only the processing time dedicated to the portion of that table that is being displayed is required. Similarly, when downloading content over the Internet or an intranet, significant amounts of bandwidth and processing time are wasted by downloading and processing portions of the content that are not immediately viewed, and ultimately may never be viewed. Typically, when displaying large amounts of data or when displaying a portion of a large data file, the program will up-load the entire amount of data or entire data file before any of the information is displayed. If the amount of data or the data file is large, the time to display even a portion of the data could take multiple minutes being that it up-loads the data in its entirety regardless of what portion is being displayed. A further aspect of the present invention is to quickly up-load and display only portions of data at one time rather than up-loading an entire data file at once to display only a portion of data, thus saving display time. This aspect of the present invention operates to up-load only that portion that is being displayed at one time, thus minimizing the time to display the data. In addition, for the table sorting example, the present invention will operate to only sort out the items required for the current view, and sort the remainder of the items when the display is changed. When up-loading only what data is going to be displayed, the amount of data that is loaded at one time is minimized, thus allowing for quicker display of the data. Then, when new data is requested in the document, only that data that is requested is loaded and displayed. This type of on-demand loading minimizes the wait time for the user to view the data. 

1. A method for displaying objects by a computer device in a mark-up language environment, the method comprising: displaying an operational object receiving first actuation of a pointing device oriented in a selection region for the operational object; performing a first operation on the operational object; receiving a second actuation of the pointing device oriented in the selection region for the operational object; and performing a second operation on the operational object.
 2. The method of claim 1, wherein the first actuation is a click down, and click up sequence of a mouse button, and the step of performing the first operation further comprises the steps of: creating a second image of the operational object, the second image of the operational object being a non-selected state of the operational object; and overlaying the operational object with the second image of the operational object.
 3. The method of claim 2, wherein the second actuation is a click down of the mouse button and the second operation further comprises the step of modifying the second image of the operational object to a clicked state.
 4. The method of claim 3, further comprising the steps of: receiving a third actuation of the point device, the third actuation being a click up of a mouse button; and deleting the second image of the operational object.
 5. A method for displaying objects by a computer device in a mark-up language environment, the method comprising: displaying an operational object in a non-selected state; receiving first actuation of a pointing device oriented in a selection region for the operational object, the first actuation being a first select operation; modifying at least a portion of the operational object to a selected state; receiving a second actuation of the pointing device, the second actuation being a un-select operation; creating a second image of the operational object, the second image of the operational object being a non-selected state of the operational object; receiving a third actuation of the pointing device, the third actuation being a select operation; modifying at least a portion of the second image of the operational object to a selected state; receiving a fourth actuation of the pointing device, the fourth actuation being a un-select operation; and deleting the second image of the operational object.
 6. The method of claim 5, wherein the first actuation and the third actuation occur in rapid succession and further comprising the step of eliminating the double-click lock out with regards to the operational object. 